Conventionally, a CG (Computer Graphics) technique that generates a projected image on a virtual space on the basis of attributes that describe the virtual space is known (e.g., James D. Foley, “Computer Graphics: Principles and Practice (Systems Programming)” Addison-Wesley, ISBN: 0201948406). Along with the advance and price-reduction of computer technologies, the CG technique is used in various fields.
Note that “attribute” in this specification is each individual information that specifies a virtual space, and represents, for example, the position, orientation, color, and opacity of a virtual object, the color and irradiation direction of illumination, space structure (e.g., a hierarchical structure in which a pot is placed on a desk, and the pot moves together with movement of the desk), and the like.
As tools for designing a virtual space and virtual object by applying the CG technique, a 3DCAD (3-Dimensional Computer Aided Design) tool and 3D (3-Dimensional) CG tool are known. For example, OneSpace Designer available from CoCreate Software, Inc. is known as an example of the 3DCAD tool, and Maya available from Alias Systems Corp. is known as an example of the 3DCG tool. These tools allow a designer to visually confirm an object to be designed by displaying a projected image of this object on the display screen. With these tools, if all components (elements) which form the object to be designed are displayed in an arbitrary design process, it is often difficult to determine necessary information on the screen. Therefore, the operator designs while switching the attributes (e.g., visible/invisible of components) of components as needed. This attribute switching operation requires two steps: (1) select a component; and (2) change the attribute of the component.
In this way, upon switching the attributes of components which form a virtual space or virtual object, at least two operation steps are required per component. Hence, in order to switch the attributes of a large number of components, many operations are required, resulting in troublesome processes.
As the computer networks are prevalently used, it is a common practice to share information by a plurality of computer terminals to attain operations. Against such background, a system that allows different computer terminals to share a single 3D virtual space by sharing identical virtual space information is realized (e.g., G. Heshina et. al.: “Distributed Open Inventor: A Practical Approach to Distributed 3D Graphics”, in Proc. of the ACM Symposium on Virtual Reality Software and Technology (VRST'99), pp. 74-81, 1999). As application examples of such system, remote meeting systems, network games, cooperative design systems, and the like may be proposed.
Sharing of a single virtual space by different terminals is implemented by sharing information that specifies a virtual space. However, this prior art allows all terminals to set common values as information to be shared, and that information cannot be set as different values depending on terminals that use the information.
On the other hand, some or all of attributes of information which specifies a virtual space are not shared by terminals, and control may be made so that each terminal applies its own data to these attributes. However, non-shared data of each terminal cannot be accessed by another terminal.
Furthermore, with the technique described by G. Heshina et al., a hierarchical data structure which specifies a virtual space must be changed to switch between data shared and non-shared states.